<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>认识es6</title>
    <style>
        li[class$='c2']{
            border: 1px saddlebrown solid;
            background-color: chartreuse;
        }

    </style>
</head>
<body>
    <ul>
        <li class="c1">1</li>
        <li class="c1">2</li>
        <li class="342c2">3</li>
        <li></li>
    </ul>
<script>
    let { log } = console;
    // var a = 100;
    // a = 200;
    // console.log(a);
    // const PI = 3.14;
    // PI = 2.5;

    // var a = 10;
    // var a = 100;
    // var a = 1000;
    // console.log(a);
    //
    // let b = 10;
    // let b = 100;
    // let b = 1000;
    // console.log(b);

    // var a  = 10;
    // function fun() {
    //     console.log(a);
    //     let a = 100;
    // }
    // fun();

    //  引用类型
    // const like = {
    //
    //     name:'zhang',
    //
    //     info: 'hello world'
    //
    // };
    //
    // like.name = '课工厂';
    // console.log(like);
    //
    // var a = 100; //number

    // var num = 0; //表示for执行的次数
    //
    // for (var i = 0; i < 10; i++) {
    //     setTimeout(function(){
    //         console.log('var---'+i);
    //     })
    //     num++;
    // }
    // console.log("----"+i);
    //
    // // 输出十个 10
    // for (let j = 0; j < 10; j++) {
    //     setTimeout(function(){
    //         console.log('let---'+j);
    //     })
    // }
    // console.log(j);

    // 输出 0123456789

    // let nameArr = ['张三', '李四', '刘能'];
    // let [n1,n2,n3] = nameArr;
    //
    // console.log(n1, n2, n3);

    // let [head, ...tail] = [1, 2, 3, 4,5,6,7,7];
    // console.log(head); //1
    // console.log(tail);//2, 3, 4,5,6,7,7

    // let [x, y, ...z] = ['a'];
    // console.log(x) // "a"
    // console.log(y) // undefined
    // console.log(z) // []

    // let [foo = true] = [null];
    // console.log(foo);

    // let [x, y = 'b'] = ['a']; // x='a', y='b'
    // let [x, y = 'b'] = ['a', undefined]; // x='a', y='b'
    //
    // console.log(x);
    // console.log(y);

    // function f() {
    //     console.log('aaa');
    //     return 10;
    // }
    //
    // let [x = f()] = [];
    // console.log(x);


    // let { ceil, abs, floor } = Math;  //Math方法被直接赋值给变量
    // console.log(floor(1.5));
    // // console.log(Math.ceil(1.5));
    // const { log } = console;
    // log('hello') // hello

    // const [a, b, c, d='2', e='1'] = 'hel';
    // // console.log(a);
    // // console.log(b);
    // // console.log(c);
    // // console.log(d);
    // // console.log(e);
    //
    // let {length : len} = 'hello';
    // console.log(len);
    //
    // var userName = "张三123";
    // for(var i = 0;i<userName.length;i++){
    //     // if(!isNaN(userName[i])){
    //     //     alert("不合法");
    //     // }
    //     if(Number.isNaN(userName[i])){
    //
    //     }
    // }
    //
    // Number.isNaN()
    // var a = 10;
    // a *= 2;
    // a = a * 2;
    // console.log(a);

    // var j = 5;
    // j **=3;
    // console.log(j);

    // function  fun(a,b) {
    //     console.log(arguments.length);
    //     return b;
    // }
    // console.log(fun('zhangsan',true,'lisi','zhaosi'));

    // function fun2(x,y='0'){
    //     console.log(arguments.length);
    //
    //     console.log(x+'--'+y);
    // }
    //
    // fun2('张三');
    // function f(e) {
    //     var eV = e || event;
    // }

//    数值交换
//         var a  = 10;
//         var b = 50;
//
//         var c = a;
//         a = b;
//         b = c;
//
//         console.log(a)
//         console.log(b);

        // let x = 1;
        // let y = 2;
        //
        // [x, y] = [y, x];
        //
        // console.log(x);
        // console.log(y);

    // function fun(a,b) {
    //     return a,b;
    // }
    //
    // console.log(fun(1,2));
    // function example() {
    //     var a = 10;
    //     var b = 20;
    //     var c = 30;
    //
    //     return [a, b, c];
    // }
    // let [aa, bb, cc] = example();
    // console.log(aa,bb,cc);


    // 返回一个对象

    // function example(a,b) {
    //     return {
    //         foo: a,
    //         bar: b
    //     };
    // }
    // let { foo, bar } = example(100,200);
    // console.log(foo);
    // console.log(bar);

    // function f([x, y, z]) {
    //
    // }
    // f([1, 2, 3]);
    //
    // // 参数是一组无次序的值
    // function f({x, y, z}) {
    //
    // }
    // f({z: 3, y: 2, x: 1});

    // let jsonData = {
    //     id: 42,
    //     status: "OK",
    //     data: [867, 5309]
    // };
    //
    // let { id, status, data: number } = jsonData;
    //
    // console.log(id, status, number);

    // let a1 = Symbol('123');
    // let a2 = Symbol('123');
    // // console.log(typeof  abc.toString());
    // console.log(a1.description );
    // console.log(a1===a2);

    // let  mySymbol = Symbol();
    // var a = {}
    // a[mySymbol] = 'hello';
    //
    // console.log(a[mySymbol]);
    // var obj = {
    //     name:'张三'
    // }
    // obj.name;

    // console.log(...set);
    // const set = new Set([1, 2, 3, 4, 4,3,34,5,1]);


    //
    // let s1 = Symbol.for("foot");
    // log(Symbol.keyFor(s1)) // "foo"
    //
    // let s2 = Symbol.for("foo");
    // log(Symbol.keyFor(s2)) // undefined
    // log(s2);



    // var fun = function(a){
    //     return a;
    // }

    // var fun = a => a;

    // var fun1 = () => 10;
    //
    // log(fun1);
    //
    // let getTempItem = id => ({ id: id, name: "Temp" });
    //
    // var Person = {
    //     first:100,
    //     last:200,
    //     show:function () {
    //         log(this.first + ' ' + this.last);
    //     }
    // }
    //
    // Person.show();
    //
    //
    // let fun = (first,last) => first + ' '+ last;
    // // log(fun(50,100));

    // const isEven = n => n % 2 === 0;
    // log(isEven(18));
    //
    // function Person() {
    //     this.userName='张三';
    //     this.age = 18;
    //     setInterval(()=>{
    //         console.log(this.userName + ' ' +this.age);
    //     },1000);
    // }
    // let a = new Person();

    // var Person = {
    //     userName:'张三',
    //     age:18,
    //
    //     // fun:function () {
    //     //     //缓存this
    //     //     var that = this;
    //     //     setInterval(function () {
    //     //         log(that.userName + '' + that.age);
    //     //     },1000)
    //     // }
    // }
    // Person.fun();

//

    // set和map的使用

    // var arr = [1,2,2,5,7,7,8,9,9,9];
    // var newArr = [];
    // for(var i = 0;i<arr.length;i++){
    //     if(newArr.indexOf(arr[i]) == -1){
    //         newArr.push(arr[i]);
    //     }
    // }
    // log(...newArr);


    // let arrs = new Set(arr);
    // // log(...arrs);
    // log(arrs.size);
    // log(arrs.has(7));
    // log(arrs.add(80));


    // const items = new Set([1, 2, 3, 4, 5]);
    // const array = Array.from(items);
    let {abs,floor} =  Math;

    let set = new Set(['red', 'green', 'blue']);

    for (let item of set.keys()) {
        console.log(item);
    }

    for (let item of set.values()) {
        console.log(item);
    }

    for (let item of set.entries()) {
        console.log(item);
    }












</script>

</body>
</html>
